#!/usr/bin/env bash

echo -n "请输入虚拟主机名(域名)：";
read host;
echo -n "请输入 web 根目录：";
read root;
echo -n "请输入 php 版本（默认7.4）：";
read php_v;

if [ ! -n "$php_v" ]; then
    php_v="7.4";
fi

block="server {
    listen 80;
    server_name .${host};
    root \"${root}\";

    index index.html index.htm index.php;

    charset utf-8;

    location / {
        try_files \$uri \$uri/ /index.php?\$query_string;
    }

    location = /favicon.ico { access_log off; log_not_found off; }
    location = /robots.txt  { access_log off; log_not_found off; }

    access_log off;
    error_log  /var/log/nginx/${host}-error.log error;

    sendfile off;

    client_max_body_size 100m;

    location ~ \.php$ {
        fastcgi_split_path_info ^(.+\.php)(/.+)$;
        fastcgi_pass unix:/var/run/php/php${php_v}-fpm.sock;
        fastcgi_index index.php;
        include fastcgi_params;
        fastcgi_param SCRIPT_FILENAME \$document_root\$fastcgi_script_name;

        fastcgi_intercept_errors off;
        fastcgi_buffer_size 16k;
        fastcgi_buffers 4 16k;
        fastcgi_connect_timeout 300;
        fastcgi_send_timeout 300;
        fastcgi_read_timeout 300;
    }

    location ~ /\.ht {
        deny all;
    }
}
";

echo "$block" | sudo tee "/etc/nginx/sites-available/${host}" | cat > /dev/null;
sudo ln -fs "/etc/nginx/sites-available/${host}" "/etc/nginx/sites-enabled/${host}";
sudo service nginx restart
